Functional Programming and Virtual Worlds

نویسنده

  • Claus Reinke
چکیده

The FunWorlds project aims to combine and integrate ideas from functional programming, in particular functional reactive programming a la Fran, and virtual worlds, as exemplified by the Virtual Reality Modeling Language (VRML’97). The goal of our research is the design of a concrete toolkit offering functional programmers access to this rich medium for communication and interaction while introducing virtual reality scene authors to an expressive high-level modeling paradigm. In earlier work, reported at IFL’2001, we experimented with mapping Fran concepts into VRML’97, using a domain-specific embedded compilation approach to map high-level programs in a Haskell DSEL into standard VRML’97 + ECMAScript worlds, renderand navigable using any VRML’97 browser. The present paper is concerned with a more direct integration, based on Sven Panne’s HOpenGL Haskell binding to the industry standard for 2d and 3d graphics, OpenGL. To enable a declarative approach, we first introduce a simple scene graph similar to the static aspects of VRML, which is translated into calls to the imperative HOpenGL API. To address dynamic aspects of our scenes, we build on ideas taken from Conal Elliott’s Fran (functional reactive animation). However, Fran itself has gone through a series of implementations of increasing complexity and difficult-to-predict performance. We trace some of those problems to issues in the design of the Fran DSEL and choose to deviate from this original Fran design in several points. Without unduly restricting expressiveness, our more pragmatic design leads to a drastically simplified implementation offering competitive, and more importantly, predictable performance.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Graphical Representations and Infinite Virtual Worlds in a Logic and Functional Programming Course

The assignment scheme of our Logic and Functional Programming course has adopted the generation of graphical representations, quadtrees and octrees to teach the different features of this kind of languages: higher order functions, lazy evaluation, polymorphism, logical variables, constraint satisfaction, etc. The use of standard XML vocabularies: SVG for graphics and X3D for virtual worlds enab...

متن کامل

Designing Virtual Worlds as Architecture Tp 044

Designing virtual worlds as architecture considers the form and function of spatial virtual environments as an alternative kind of architectural design. This perspective can lead to a new way to organize and explore the Internet as a place. In this paper, we refer to this type of online environment as virtual architecture. Traditionally, virtual architecture refers to the 3D visual simulation o...

متن کامل

Functional Reactive Programming in K12 Education

The Western Computer Camp is a summer camp hosted by Western State Colorado University for students in grades 8 through 12 who are interested in mathematics, physics, design, and computer science. Each session lasts one week, during which time the students build 3D virtual worlds as a means of interdisciplinary learning. The worlds are created using the Panda3D game engine and a Functional Reac...

متن کامل

A Framework to Dynamically Manage Distributed Virtual Environments

In this paper, we present the project Urbi et Orbi, a framework to dynamically manage distributed virtual environments (DVEs). This framework relies on a dedicated scripting language, Goal, which is typed, object-oriented and dynamically bound. Goal is interpreted by the application hosted by each machine and is designed to handle efficiently both network communications and interactivity. Final...

متن کامل

3D Electronic Institutions - a Formal Methodology for Virtual Worlds

In this paper we analyze the characteristics of the Virtual Worlds technology and present a need for formal software methodologies for the development of Virtual Worlds. The proposed methodology, 3D Electronic Institutions separates the development into specification of constraints of the interactions of participants, design and visualization of the 3D environment and programming the basic beha...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002